# -*- coding: utf-8 -*-
# Created by zhangyanqi on 2018/4/18
"""
给定两个字符串 s 和 t ，编写一个函数来判断 t 是否是 s 的一个字母异位词。

例如，
s = "anagram"，t = "nagaram"，返回 true
s = "rat"，t = "car"，返回 false

注意:
假定字符串只包含小写字母。

提升难度:
输入的字符串包含 unicode 字符怎么办？你能能否调整你的解法来适应这种情况？
"""


class Solution:
    def isAnagram(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        if len(s) == len(t) and (len(s) == 1 or len(s) == 0):
            if s == t:
                return True
        if len(s) != len(t):
            return False
        exist_not_equal = False
        for index in range(0, len(s)):
            if s[index] != t[index]:
                exist_not_equal = True
        if not exist_not_equal:
            return False
        l1 = list(set(s))
        l2 = list(set(t))
        if len(l1) != len(l2):
            return False
        for i in range(0, len(l1)):
            if l1[i] != l2[i]:
                return False
        return True


if __name__ == "__main__":
    s = Solution()
    anagram = s.isAnagram("cat", "rat")
    print(anagram)
